package com.itheima.test2;

public class StringDemo7 {
    public static void main(String[] args) {
        // 定义两个字符串A和B
        String strA = "abcde";
        String strB = "cdeab";

        // A字符串旋转，就是将最左边的字符移动到最右边 ，经过多次选择之后比较A字符串和B字符串是否相等，相等返回true,否则返回false

        // rotate(strA);


        boolean result = compare(strA, strB);
        System.out.println(result);
    }

    // 比较旋转的值
    public static boolean compare(String strA, String strB) {
        for (int i = 0; i < strA.length(); i++) {
            strA = rotate(strA);// 把每次旋转的值赋值给strA
            if (strA.equals(strB)) {
                return true;
            }
        }
        return false;
    }


    // 定义字符串旋转方法
    public static String rotate(String str) {
        StringBuilder sb = new StringBuilder(str).reverse();
        System.out.println(sb);
        return  sb.toString();
        // 思路1：使用字符串截取
        // 1.截取字符串的第一位
        // 2.截取字符串的第一位之后的字符
        // String first = str.substring(0,1);
      /*  char first = str.charAt(0);
        String end = str.substring(1);
        return end + first;*/
        // 思路2：使用数组交换位置
       /* char[] arr = new char[str.length()];
        for (int i = 0; i < str.length(); i++) {
            if (i == 0) {
                arr[arr.length - 1] = str.charAt(0);
            } else {
                char c = str.charAt(i);
                arr[i - 1] = c;
            }
        }
        return new String(arr);*/
    }
}
